home *** CD-ROM | disk | FTP | other *** search
- unit ExtrIcon;
-
- interface
- uses ShellAPI, Graphics, WinTypes, SysUtils;
-
- function ExtractIconFromFile(FileName: string; Index: integer): HIcon;
-
- implementation
-
- function ExtractIconFromFile(FileName: string; Index: integer): HIcon;
- var
- Buff: array [0..255] of char;
- iNumberOfIcons: integer;
- begin
- { If we have a valid file. }
- if FileExists(FileName) then
- begin
- { Find out how many icons are in the file }
- iNumberOfIcons := ExtractIcon(hInstance, StrPCopy(Buff, FileName), Cardinal(-1));
- if (Index > 0) and (Index < iNumberOfIcons) and (iNumberOfIcons > 0) then
- Result:= ExtractIcon(hInstance, Buff, Index);
- end;
-
- end;
-
- end.